package br.com.sge.controle;

import java.util.List;

import br.com.sge.dao.CoordenadorDAO;
import br.com.sge.modelo.Coordenador;

public class CoordenadorBean 
{
	private Coordenador coordenador;
	private List<Coordenador> listCoord;
	private CoordenadorDAO coordDao = new CoordenadorDAO();
	private boolean cadastrarSucesso = false;
	private boolean alterarSucesso = false;
	public CoordenadorBean()
	{
		this.coordenador = new Coordenador();
	}
	
	public void getFiltrarCoordenador()
	{
		if(coordenador.getIdCoordenador()!= 0)
		{
			filtrarcoordenadorPorId();
		}
		else if(!coordenador.getNome().isEmpty()){
			filtrarCoordenadorPorNome();
		}
		
	}
	public Coordenador getFiltrarCoordenadorLogin()
	{
		this.coordenador = (Coordenador) coordDao.buscarCoordenador(coordenador.getLogin(),coordenador.getSenha()).getSingleResult();
		return this.coordenador;
	}
	public Coordenador filtrarcoordenadorPorId()
	{
		this.coordenador = (Coordenador) coordDao.buscarCoordenador(coordenador.getIdCoordenador());
		return coordenador;
	}
	public List<Coordenador> filtrarCoordenadorPorNome()
	{
		this.listCoord = (List<Coordenador>) coordDao.buscarCoordenadores(this.coordenador.getNome(),this.coordenador.getOrdemPesquisa()).getResultList();
		return this.listCoord;
	}
	public List<Coordenador> getListaCoordenador(){
		
		return this.listCoord;
	}
	public boolean getSalvar()
	{
		try
		{
			for(Coordenador coord : listCoord)
			{
				coordDao.salvarCoordenador(coord);
			}
			this.cadastrarSucesso = true;
		}
		catch(RuntimeException e)
		{
			this.cadastrarSucesso = false;
			e.printStackTrace();
		}
		return this.cadastrarSucesso;
	}
	public boolean getAlterar()
	{
		try
		{
			coordDao.alterarCoordenador(coordenador);
			this.alterarSucesso = true;
		}
		catch(RuntimeException e)
		{
			e.printStackTrace();
		}
		return this.alterarSucesso;
	}

}
